#pragma once

#include "IResource.h"
#include "Attribute.h"

class Avatar : public IResource
{
public:
	static const HashedString resourceType;

	Avatar();

	bool ToXML( tinyxml2::XMLPrinter& printer );
	bool FromXML( tinyxml2::XMLElement* element );

	const HashedString& getResourceType() const;
protected:
	Attribute::Map_t m_attributes;

	// Player Controller
	// AI Controller
	//	Behavior
	// GraphicComponent
	//	Model
	// OrientationComponent
	// RigidBodyComponent	-	Physics World
	//	Shapes
	// SelectableBodyComponent
	//	Shapes
	// StatusComponent
	//	Stats
	// CombatComponent
	//	Abilities
	//	Effects
};